package demo2;

/**
 * Description:
 * Date: 2025-10-16
 * Time: 22:13
 */
//如何实现拷贝？--> Cloneable接口
    //Cloneable接口是一个空接口，也叫做标记接口，它标记了这个类，使这个类能够被 拷贝
public class Person implements Cloneable{
    public String name;
    public int age;

    //此时是aTry对象是Person的一个成员变量，也叫做实例变量
    Try aTry = new Try();

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        //要想将Perosn类中aTry对象也拷贝一份，那就在person拷贝的时候也调用Try中的clone()方法，将aTry也拷贝一份
        Person person = (Person)super.clone();
        person.aTry = (Try)person.aTry.clone();
        return person;
    }
}
